package leecode

import "fmt"

func Candy(ratings []int) (result int) {
	candys := make([]int, len(ratings), len(ratings))
	for i := 0; i+1 < len(ratings); i++ {
		if ratings[i] < ratings[i+1] {
			//右边孩子比较大 多给一个
			candys[i+1] = candys[i] + 1
		}
	}
	for i := len(ratings) - 1; i > 0; i-- {
		if ratings[i] < ratings[i-1] {
			//左边孩子比较大 给最多的 比较原本左侧的结果,和现在在结果,选最多的糖果
			candys[i-1] = max(candys[i]+1, candys[i-1])
		}
	}
	fmt.Println(candys)
	for i := 0; i < len(candys); i++ {
		result += candys[i] + 1 //保证每一个孩子都至少有一个糖果
	}
	return result
}
